#include <stdio.h>  
#include <stdlib.h>  
#include <string.h>  
  
int main()  
{  
    char str[]="ab,cd,ef";  
    char *ptr;  
    char *p;  
    printf("before strtok:  str=%s\n",str);  
    printf("begin:\n");  
    ptr = strtok_r(str, ",", &p);  
    while(ptr != NULL){  
        printf("str=%s\n",str);  
        printf("ptr=%s\n",ptr);  
        ptr = strtok_r(NULL, ",", &p);  
    }  
    return 0;  
}  


/**由于字符串str的逗号都被替换为'\0'，所以输出的str都是“ab”（遇到'\0'就会认为是一个完整的字符串）。output：
before strtok:  str=ab,cd,ef
begin:
str=ab
ptr=ab
str=ab
ptr=cd
str=ab
ptr=ef

**/